[分享][Raspberry Pi 樹莓派][Ras PI + Webcam + MJPG-streamer 即時監控影象]


需求
-Raspberry Pi1   (使用OS: 2013-05-25-wheezy-raspbian)
-Webcam
1
(另外旁邊的HDMI to VGA 和 USB hub)

1.將Raspberry Pi插上網路線或是接上Wifi模組
2..Raspberry Pi 插電開啟
3.在Command Line下執行

1
$ lsusb


有看到你連接的Camera就代表成功連接了

1
2
3
4
5
6
7
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 2001:3308 D-Link Corp. DWA-121 802.11n Wireless N 150 Pico Adapter [Realtek RTL8188CUS]
Bus 001 Device 006: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB
Bus 001 Device 007: ID 046d:c52e Logitech, Inc.
Bus 001 Device 030: ID 1871:0d01 Aveo Technology Corp. USB2.0 Camera


4.安裝 mjpg-streamer
mjpg-streamer是用來將視訊網路串流化,透過mjpg裡面的解碼器,可以讓影像擷取速率以及畫質有良好的表現

從 SourceForge 上用 svn 直接把mjpg-streamer抓下來

安裝SVN

1
$sudo apt-get install subversion


把最新版的mjpg-streamer用SVN抓下來

1
svn co https://svn.code.sf.net/p/mjpg-streamer/code/mjpg-streamer mjpg-streamer


在make前要另外安裝一些元件

1
2
$sudo apt-get install libjpeg8-dev
$sudo apt-get install imagemagick


去mjpg-streamer資料夾make

1
2
cd mjpg-streamer
sudo make


compile可能會花一些時間
compile成功沒有error的話
在mjpg-streamer資料夾內輸入

1
./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so -w ./www"


如果出現

1
2
3
4
5
6
7
8
MJPG Streamer Version: svn rev: 3:172
 i: Using V4L2 device.: /dev/video0
 i: Desired Resolution: 640 x 480
 i: Frames Per Second.: 5
 i: Format............: MJPEG
Unable to set format: 1196444237 res: 640x480
 Init v4L2 failed !! exit fatal
 i: init_VideoIn failed


代表你的WebCam不支援mjpg

可以使用在 -i的參數裡面加入 -y 使用YUV編碼

1
./mjpg_streamer -i "./input_uvc.so -y" -o "./output_http.so -w ./www"


如果跑出以下情形

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
MJPG Streamer Version: svn rev: 3:172
 i: Using V4L2 device.: /dev/video0
 i: Desired Resolution: 640 x 480
 i: Frames Per Second.: 5
 i: Format............: YUV
 i: JPEG Quality......: 80
Adding control for Pan (relative)
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device
Adding control for Tilt (relative)
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device
Adding control for Pan Reset
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device
Adding control for Tilt Reset
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device
Adding control for Pan/tilt Reset
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device
Adding control for Focus (absolute)
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device
mapping control for Pan (relative)
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Tilt (relative)
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Pan Reset
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Tilt Reset
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Pan/tilt Reset
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Focus (absolute)
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for LED1 Mode
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for LED1 Frequency
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Disable video processing
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Raw bits per pixel
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
 o: www-folder-path...: ./www/
 o: HTTP TCP port.....: 8080
 o: username:password.: disabled
 o: commands..........: enabled


在-y後面加入 -n  來消除Error

1
./mjpg_streamer -i "./input_uvc.so -y -n" -o "./output_http.so -w ./www"


跑出以下就成功囉

1
2
3
4
5
6
7
8
9
10
MJPG Streamer Version: svn rev: 3:172
 i: Using V4L2 device.: /dev/video0
 i: Desired Resolution: 640 x 480
 i: Frames Per Second.: 5
 i: Format............: YUV
 i: JPEG Quality......: 80
 o: www-folder-path...: ./www/
 o: HTTP TCP port.....: 8080
 o: username:password.: disabled
 o: commands..........: enabled


打開瀏覽器到Ras PI所在的IP+Port8080 點選Stream就可以看到影片網路串流囉

[